在二叉树使用中,我们需要不断的为二叉树插入数值,或者是删除数值,因此二叉树的建立和插入节点就显得尤为重要;
建立一棵二叉树
void pre_crt(tree &bt) //按先序次序输入二叉树中结点的值,生成
{
char ch;
ch = getchar(); //二叉树的单链表存储结构,bt为指向根结点的指针,’
′
表
示
空
树
i
f
(
c
h
!
=
′
'表示空树 if(ch != '
′表示空树if(ch!=′’)
{
bt = new node; //建根结点
bt->data = ch;
pre_crt(bt->lchild); //建左子树
pre_crt(bt->rchild); //建右子树
}
else bt = NULL;
}
删除二叉树
void dis(tree &bt) //删除二叉树
{
if(bt)
{
dis(bt->lchild); //删左子树
dis(bt->rchild); //删右子树
delete bt; //释放父结点
}
}
插入一个结点到排序二叉树中
void insert(tree &bt, int n) //插入一个结点到排序二叉树中
{
if(bt)
{
if(n < bt->data) insert(bt->lchild, n);
else if(n > bt->data) insert(bt->rchild, n);
}
else
{
bt = new node; //新开一个空间
bt->data = n;
bt->lchild = bt->rchild = NULL;
}
}
另外写一下小知识3.14…可用acos(-1.0)来表示。
二叉树建立及插入节点
最新推荐文章于 2024-08-11 22:15:36 发布